package com.hmy.material.mapper;

import com.hmy.material.domain.HmyMateriaFeedStore;
import com.hmy.material.domain.HmyMateriaFeedType;
import org.apache.ibatis.annotations.Param;

import java.util.*;

/**
 * @author zxh
 * @version 1.0
 * @description: 饲料类型Mapper接口
 * @date 2024/2/28 17:08
 */
public interface TypeMapper {

    /**
     * 列表查询
     * @param materiaFeedType 饲料类型
     * @param creationDateStart 创建开始时间
     * @param creationDateEnd 创建结束时间
     * @return
     */
    List<HmyMateriaFeedType> selectTypeList(@Param("type") String materiaFeedType,
                                            @Param("dateStart") String creationDateStart,
                                            @Param("dateEnd") String creationDateEnd);

    /**
     * 根据ID获取单个饲料信息
     *
     * @param materiaFeedTypeId ID
     * @return 返回单个对象
     */
    public HmyMateriaFeedType selectTypeById(@Param("id") Long materiaFeedTypeId);


    /**
     * 新增饲料
     *
     * @param type 参数为对象
     * @return 受影响行数
     */
    public int addType(HmyMateriaFeedType type);

    /**
     * 修改饲料信息
     *
     * @param type 参数对象
     * @return 受影响行数
     */
    public int updateType(HmyMateriaFeedType type);

    /**
     * 根据ID删除饲料信息
     *
     * @param materiaFeedTypeId 存储表ID
     * @return 受影响行数
     */
    int delTypeById(Long materiaFeedTypeId);

    /**
     * 根据ID批量删除饲料信息
     *
     * @param materiaFeedTypeIdS ID数组
     * @return 受影响行数
     */
    int delTypeByIds(Long[] materiaFeedTypeIdS);

    /**
     * 获取饲料类型  在其他模块作为下拉框出现
     * @return
     */
    List<HmyMateriaFeedType> getTypes();

}
